package controller.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.dao.UserAccessDao;
import model.domain.UserAccessBean;
import model.xml.XMLBuiler;

public class ClickCountAction implements Action {

	@Override
	public String process(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		String serviceId = request.getParameter("serviceid");    //HTML 에서 타일클릭시 (ajax로)넘어오는  서비스아이디
		String tagdate = request.getParameter("date");     	//		타일클릭시 생성되고 넘어오는 시간객체(script에서 구현해야함)
		long dateFromAgo = Long.parseLong(tagdate);			//UserAccessBean 의 dateFromAgo는 long형

		String userId = (String) request.getSession().getAttribute("userId"); //각각 회원테이블 구분하기위해
		
		//bean1= 서비스 첫번째 클릭시에만 쓰임    bean2= 서비스 두번째 클릭부터 쓰임  
		UserAccessBean bean1 = new UserAccessBean(userId, serviceId, dateFromAgo, 1, 0 , null);
		UserAccessBean bean2 = new UserAccessBean(userId, serviceId, dateFromAgo, 1000, 0, null);
		
		List<String> serviceList = UserAccessDao.selectAllServiceId(userId);
		//각각 회원테이블 클릭카운트 업데이트 or 인설트
		if(serviceList.size() != 0){
			for(int i=0;i<serviceList.size();){
				if (serviceList.contains(serviceId)) {
					UserAccessDao.updateUserTable(bean2);
					break;
				} 
				else {
					UserAccessDao.insertUserTable(bean1);
					break;
				}
			}
		}else{
			UserAccessDao.insertUserTable(bean1);
		}

		
		
		XMLBuiler.xmlMaker(userId,(String)request.getAttribute("rootpath"));
//		PrintWriter out = response.getWriter();
//		out.print("클릭카운터");
		return "클릭카운트액션수행";
	}
}
